Pengenalan Move-Sui
Mari kita mulai dengan memahami perbedaan antara Move-Sui dan Core Move, serta mengapa Move-Sui adalah game changer dalam dunia blockchain.
Sui adalah blockchain layer 1 terdesentralisasi yang telah mengubah cara kita mendefinisikan kepemilikan aset di blockchain dan bagaimana transaksi diproses.

Sui memperkenalkan composable objects di Move-Sui. Objek-objek ini dapat dimiliki secara individual (address-owned) maupun bersama (shared). Untuk transaksi sederhana pada objek berpemilik tunggal—misalnya transfer token atau NFT—eksekusi tidak memerlukan konsensus global. Karena transaksi pada objek yang berbeda saling independen, Sui dapat mengeksekusinya secara paralel (parallel execution). Hasilnya, banyak transaksi dapat diproses sekaligus, sehingga skalabilitas meningkat secara signifikan. Detailnya akan kita bahas di materi berikutnya.
Untuk objek yang dimiliki bersama (shared object), Sui menggunakan mekanisme konsensus bernama Delegated Proof of Stake. Sederhananya, ketika sebuah transaksi dikirim, para validator akan melakukan voting untuk menyetujui atau menolaknya.
Apa Sebenarnya Move Itu?
Sebelum Move-Sui ada, sudah ada bahasa pemrograman Move yang biasa kita sebut Core Move. Core Move adalah bahasa open-source yang digunakan untuk membangun dan memanipulasi smart contract. Move memungkinkan adanya library bersama, tooling, dan komunitas developer lintas blockchain. Move juga fleksibel (adaptable) artinya kita bisa menambahkan berbagai peningkatan untuk kebutuhan berbeda. Itulah yang dilakukan Move-Sui, Mysten Labs menggunakan Core Move lalu meningkatkannya agar kompatibel dan optimal di ekosistem Sui.
Move-Sui
Move-Sui memiliki beberapa perbedaan besar dibanding Core Move atau Move di blockchain lain. Dengan memanfaatkan fleksibilitas dan keamanan Move, Sui meningkatkan throughput, mengurangi latency, dan membuat bahasa pemrograman Move lebih mudah didekati dan menyenangkan untuk digunakan. Berikut beberapa fitur unik yang dimilikinya.
Perbedaan Kunci di Move-Sui
Berikut adalah perbedaan-perbedaan penting di Move-Sui:
- Penyimpanan yang berpusat pada objek (object-centric storage)
- Alamat di Sui merepresentasikan ID objek
- Setiap objek di Sui memiliki ID yang unik secara global
- Memiliki inisialisator modul (module initializer / init)
- Entry point dapat menerima objek sebagai input by-reference
Mari kita bahas secara singkat perbedaan-perbedaan ini.
Penyimpanan Berpusat pada Objek
Sui chain memiliki penyimpanan Sui sendiri alih-alih penyimpanan global. Model penyimpanan global di Core Move dapat menimbulkan masalah skalabilitas dan hal ini diatasi oleh Sui dengan menyimpan objek dan modul yang dimiliki oleh alamat-alamat on-chain. Semua transaksi direpresentasikan dengan identifier unik sehingga eksekusi dapat berjalan paralel.
Alamat di Sui Merepresentasikan ID Objek
Di Move-Sui, address direpresentasikan dengan identifier 32-byte. Setiap transaksi ditandatangani oleh address pengirim untuk mengakses informasi transaksi. address dalam Move-Sui disimpan pada field wajib id: UID di dalam objek.
Objek dengan Ability key, ID Unik Secara Global
Di Sui, penggunaan ability key krusial untuk mengubah struct sederhana menjadi objek Sui. Objek yang memiliki ability key wajib memiliki field id: UID yang menyimpan alamat unik objek tersebut.
Module Initializer
Module initializer bekerja mirip constructor di Move-Sui. Saat kamu mempublikasikan modul ke penyimpanan Sui, initializer membantu menginisialisasi nilai awal field-field objek. Initializer dieksekusi saat runtime, dan hanya sekali ketika modul dipublikasikan.
Entry Point Menerima Objek by Reference
Di Move-Sui, kamu bisa melewatkan objek sebagai input ke fungsi publik yang dapat dipanggil oleh transaksi Sui. Ada beberapa cara: by reference, by mutable reference, atau by value. Objek yang diteruskan by value bisa dihapus atau dipindahkan kepemilikannya; sedangkan dengan mutable reference kamu bisa mengubah data objek tanpa mengubah kepemilikan atau membuat instance baru.
Di Move-Sui, kamu juga dapat memanggil entry function meskipun bersifat privat, selama tidak ada fungsi non-entry lain yang sudah menggunakan inputnya.
Jangan khawatir! Kita akan membahas semua topik di atas secara lebih detail pada pelajaran berikutnya.
Penutup
Move-Sui berbeda dan unik dalam banyak aspek. Ia menawarkan beragam fitur yang membantu kita menskalakan aplikasi. Bekerja dengan Move-Sui akan membantu kamu membangun dan me-deploy smart contract yang scalable. Memang terdengar banyak, tapi tenang—kita akan mengupas setiap konsep baru secara bertahap di materi selanjutnya. Untuk sekarang, mari lanjut menyiapkan environment pengembangan agar kamu bisa menjalankan program Move-Sui dan me-deploy program pertamamu di Sui.